{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "警告: 文件夹 class00 不存在\n",
      "警告: 文件夹 class01 不存在\n",
      "警告: 文件夹 class02 不存在\n",
      "警告: 文件夹 class03 不存在\n",
      "警告: 文件夹 class04 不存在\n",
      "警告: 文件夹 class05 不存在\n",
      "警告: 文件夹 class06 不存在\n",
      "警告: 文件夹 class07 不存在\n",
      "警告: 文件夹 class08 不存在\n",
      "警告: 文件夹 class09 不存在\n",
      "警告: 文件夹 class10 不存在\n",
      "警告: 文件夹 class11 不存在\n",
      "警告: 文件夹 class12 不存在\n",
      "警告: 文件夹 class13 不存在\n",
      "警告: 文件夹 class14 不存在\n",
      "警告: 文件夹 class15 不存在\n",
      "警告: 文件夹 class16 不存在\n",
      "警告: 文件夹 class17 不存在\n",
      "警告: 文件夹 class18 不存在\n",
      "警告: 文件夹 class19 不存在\n",
      "警告: 文件夹 class20 不存在\n",
      "警告: 文件夹 class21 不存在\n",
      "警告: 文件夹 class22 不存在\n",
      "警告: 文件夹 class23 不存在\n",
      "警告: 文件夹 class24 不存在\n",
      "警告: 文件夹 class25 不存在\n",
      "警告: 文件夹 class26 不存在\n",
      "警告: 文件夹 class27 不存在\n",
      "警告: 文件夹 class28 不存在\n",
      "警告: 文件夹 class29 不存在\n",
      "警告: 文件夹 class30 不存在\n",
      "警告: 文件夹 class31 不存在\n",
      "警告: 文件夹 class32 不存在\n",
      "警告: 文件夹 class33 不存在\n",
      "警告: 文件夹 class34 不存在\n",
      "警告: 文件夹 class35 不存在\n",
      "\n",
      "开始划分数据集...\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Copying files: 5698 files [00:09, 611.13 files/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "所有操作完成！数据集已划分到: data\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import shutil\n",
    "import splitfolders\n",
    "\n",
    "# 蘑菇类别映射字典\n",
    "mushroom_mapping = {\n",
    "    'class00': '羊肚菌',\n",
    "    'class01': '牛肝菌',\n",
    "    'class02': '鸡油菌',\n",
    "    'class03': '鸡枞菌',\n",
    "    'class04': '青头菌',\n",
    "    'class05': '奶浆菌',\n",
    "    'class06': '干巴菌',\n",
    "    'class07': '虎掌菌',\n",
    "    'class08': '白葱牛肝菌',\n",
    "    'class09': '老人头菌',\n",
    "    'class10': '猪肚菌',\n",
    "    'class11': '谷熟菌',\n",
    "    'class12': '白参菌',\n",
    "    'class13': '黑木耳',\n",
    "    'class14': '银耳',\n",
    "    'class15': '金耳',\n",
    "    'class16': '猴头菇',\n",
    "    'class17': '香菇',\n",
    "    'class18': '平菇',\n",
    "    'class19': '金针菇',\n",
    "    'class20': '口蘑',\n",
    "    'class21': '鹿茸菇',\n",
    "    'class22': '榆黄蘑',\n",
    "    'class23': '榛蘑',\n",
    "    'class24': '草菇',\n",
    "    'class25': '鸡腿菇',\n",
    "    'class26': '茶树菇',\n",
    "    'class27': '蟹味菇',\n",
    "    'class28': '白玉菇',\n",
    "    'class29': '红菇',\n",
    "    'class30': '杏鲍菇',\n",
    "    'class31': '松茸',\n",
    "    'class32': '姬松茸',\n",
    "    'class33': '松露',\n",
    "    'class34': '竹荪',\n",
    "    'class35': '虫草花'\n",
    "}\n",
    "\n",
    "# 原始数据路径和输出路径\n",
    "data_dir = r'dataes'\n",
    "output_dir = r'data'\n",
    "\n",
    "# 1. 先重命名文件夹\n",
    "for old_name, new_name in mushroom_mapping.items():\n",
    "    old_path = os.path.join(data_dir, old_name)\n",
    "    new_path = os.path.join(data_dir, new_name)\n",
    "    \n",
    "    if os.path.exists(old_path):\n",
    "        os.rename(old_path, new_path)\n",
    "        print(f'已重命名: {old_name} -> {new_name}')\n",
    "    else:\n",
    "        print(f'警告: 文件夹 {old_name} 不存在')\n",
    "\n",
    "# 2. 划分数据集\n",
    "print(\"\\n开始划分数据集...\")\n",
    "splitfolders.ratio(\n",
    "    data_dir,\n",
    "    output=output_dir,\n",
    "    seed=1337,\n",
    "    ratio=(0.8, 0.1, 0.1),  # 训练集80%，验证集10%，测试集10%\n",
    "    group_prefix=None,\n",
    "    move=False\n",
    ")\n",
    "\n",
    "print('\\n所有操作完成！数据集已划分到:', output_dir)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:72: FutureWarning: `torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead.\n",
      "  scaler = GradScaler()\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当前训练使用的设备是: cuda\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 1 [0/4543 (0%)] Loss: 3.546990 | Acc: 0.000%\n",
      "Train Epoch: 1 [80/4543 (2%)] Loss: 3.694168 | Acc: 3.409%\n",
      "Train Epoch: 1 [160/4543 (4%)] Loss: 3.609242 | Acc: 3.571%\n",
      "Train Epoch: 1 [240/4543 (5%)] Loss: 3.285507 | Acc: 3.226%\n",
      "Train Epoch: 1 [320/4543 (7%)] Loss: 3.591615 | Acc: 3.354%\n",
      "Train Epoch: 1 [400/4543 (9%)] Loss: 3.738547 | Acc: 3.676%\n",
      "Train Epoch: 1 [480/4543 (11%)] Loss: 3.550360 | Acc: 4.303%\n",
      "Train Epoch: 1 [560/4543 (12%)] Loss: 3.594935 | Acc: 4.577%\n",
      "Train Epoch: 1 [640/4543 (14%)] Loss: 3.583447 | Acc: 4.475%\n",
      "Train Epoch: 1 [720/4543 (16%)] Loss: 3.604658 | Acc: 4.945%\n",
      "Train Epoch: 1 [800/4543 (18%)] Loss: 3.616328 | Acc: 5.198%\n",
      "Train Epoch: 1 [880/4543 (19%)] Loss: 3.525711 | Acc: 5.293%\n",
      "Train Epoch: 1 [960/4543 (21%)] Loss: 3.489489 | Acc: 5.269%\n",
      "Train Epoch: 1 [1040/4543 (23%)] Loss: 3.327157 | Acc: 5.916%\n",
      "Train Epoch: 1 [1120/4543 (25%)] Loss: 3.314453 | Acc: 6.117%\n",
      "Train Epoch: 1 [1200/4543 (26%)] Loss: 3.575944 | Acc: 6.374%\n",
      "Train Epoch: 1 [1280/4543 (28%)] Loss: 3.292908 | Acc: 6.755%\n",
      "Train Epoch: 1 [1360/4543 (30%)] Loss: 3.625444 | Acc: 6.944%\n",
      "Train Epoch: 1 [1440/4543 (32%)] Loss: 3.053427 | Acc: 7.528%\n",
      "Train Epoch: 1 [1520/4543 (33%)] Loss: 3.159928 | Acc: 8.181%\n",
      "Train Epoch: 1 [1600/4543 (35%)] Loss: 3.070764 | Acc: 8.706%\n",
      "Train Epoch: 1 [1680/4543 (37%)] Loss: 2.200219 | Acc: 9.479%\n",
      "Train Epoch: 1 [1760/4543 (39%)] Loss: 2.730523 | Acc: 10.181%\n",
      "Train Epoch: 1 [1840/4543 (40%)] Loss: 3.220021 | Acc: 10.823%\n",
      "Train Epoch: 1 [1920/4543 (42%)] Loss: 1.832180 | Acc: 11.618%\n",
      "Train Epoch: 1 [2000/4543 (44%)] Loss: 2.385958 | Acc: 12.301%\n",
      "Train Epoch: 1 [2080/4543 (46%)] Loss: 2.340776 | Acc: 13.027%\n",
      "Train Epoch: 1 [2160/4543 (48%)] Loss: 2.855825 | Acc: 13.515%\n",
      "Train Epoch: 1 [2240/4543 (49%)] Loss: 2.368253 | Acc: 14.324%\n",
      "Train Epoch: 1 [2320/4543 (51%)] Loss: 2.107293 | Acc: 15.120%\n",
      "Train Epoch: 1 [2400/4543 (53%)] Loss: 2.475457 | Acc: 15.698%\n",
      "Train Epoch: 1 [2480/4543 (55%)] Loss: 2.941364 | Acc: 16.158%\n",
      "Train Epoch: 1 [2560/4543 (56%)] Loss: 2.412099 | Acc: 16.822%\n",
      "Train Epoch: 1 [2640/4543 (58%)] Loss: 1.979714 | Acc: 17.372%\n",
      "Train Epoch: 1 [2720/4543 (60%)] Loss: 2.482699 | Acc: 17.889%\n",
      "Train Epoch: 1 [2800/4543 (62%)] Loss: 2.337189 | Acc: 18.376%\n",
      "Train Epoch: 1 [2880/4543 (63%)] Loss: 2.639778 | Acc: 18.802%\n",
      "Train Epoch: 1 [2960/4543 (65%)] Loss: 1.930294 | Acc: 19.340%\n",
      "Train Epoch: 1 [3040/4543 (67%)] Loss: 1.526023 | Acc: 19.882%\n",
      "Train Epoch: 1 [3120/4543 (69%)] Loss: 1.643460 | Acc: 20.524%\n",
      "Train Epoch: 1 [3200/4543 (70%)] Loss: 2.241378 | Acc: 21.135%\n",
      "Train Epoch: 1 [3280/4543 (72%)] Loss: 2.258361 | Acc: 21.533%\n",
      "Train Epoch: 1 [3360/4543 (74%)] Loss: 1.172073 | Acc: 22.001%\n",
      "Train Epoch: 1 [3440/4543 (76%)] Loss: 2.330515 | Acc: 22.332%\n",
      "Train Epoch: 1 [3520/4543 (77%)] Loss: 2.499663 | Acc: 22.732%\n",
      "Train Epoch: 1 [3600/4543 (79%)] Loss: 1.568869 | Acc: 23.337%\n",
      "Train Epoch: 1 [3680/4543 (81%)] Loss: 3.194598 | Acc: 23.807%\n",
      "Train Epoch: 1 [3760/4543 (83%)] Loss: 2.446143 | Acc: 24.257%\n",
      "Train Epoch: 1 [3840/4543 (85%)] Loss: 1.776184 | Acc: 24.662%\n",
      "Train Epoch: 1 [3920/4543 (86%)] Loss: 1.520242 | Acc: 25.255%\n",
      "Train Epoch: 1 [4000/4543 (88%)] Loss: 1.959981 | Acc: 25.773%\n",
      "Train Epoch: 1 [4080/4543 (90%)] Loss: 2.205044 | Acc: 26.174%\n",
      "Train Epoch: 1 [4160/4543 (92%)] Loss: 1.780074 | Acc: 26.631%\n",
      "Train Epoch: 1 [4240/4543 (93%)] Loss: 2.738687 | Acc: 26.860%\n",
      "Train Epoch: 1 [4320/4543 (95%)] Loss: 1.577577 | Acc: 27.380%\n",
      "Train Epoch: 1 [4400/4543 (97%)] Loss: 1.532733 | Acc: 27.768%\n",
      "Train Epoch: 1 [4480/4543 (99%)] Loss: 2.015535 | Acc: 27.986%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 1.4412\n",
      "Accuracy: 0.5978\n",
      "Precision: 0.5963\n",
      "Recall: 0.6008\n",
      "F1: 0.5837\n",
      "Kappa: 0.5861\n",
      "Hamming: 0.4022\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 2 [0/4543 (0%)] Loss: 1.774709 | Acc: 50.000%\n",
      "Train Epoch: 2 [80/4543 (2%)] Loss: 2.796061 | Acc: 45.455%\n",
      "Train Epoch: 2 [160/4543 (4%)] Loss: 1.409914 | Acc: 46.429%\n",
      "Train Epoch: 2 [240/4543 (5%)] Loss: 1.736371 | Acc: 46.371%\n",
      "Train Epoch: 2 [320/4543 (7%)] Loss: 2.476346 | Acc: 45.732%\n",
      "Train Epoch: 2 [400/4543 (9%)] Loss: 0.912881 | Acc: 44.118%\n",
      "Train Epoch: 2 [480/4543 (11%)] Loss: 1.241831 | Acc: 44.262%\n",
      "Train Epoch: 2 [560/4543 (12%)] Loss: 1.936154 | Acc: 45.599%\n",
      "Train Epoch: 2 [640/4543 (14%)] Loss: 1.799230 | Acc: 45.525%\n",
      "Train Epoch: 2 [720/4543 (16%)] Loss: 0.847301 | Acc: 46.429%\n",
      "Train Epoch: 2 [800/4543 (18%)] Loss: 1.295295 | Acc: 47.277%\n",
      "Train Epoch: 2 [880/4543 (19%)] Loss: 2.792848 | Acc: 47.185%\n",
      "Train Epoch: 2 [960/4543 (21%)] Loss: 3.280903 | Acc: 47.831%\n",
      "Train Epoch: 2 [1040/4543 (23%)] Loss: 1.746731 | Acc: 47.615%\n",
      "Train Epoch: 2 [1120/4543 (25%)] Loss: 2.100894 | Acc: 47.784%\n",
      "Train Epoch: 2 [1200/4543 (26%)] Loss: 1.063761 | Acc: 47.930%\n",
      "Train Epoch: 2 [1280/4543 (28%)] Loss: 1.222899 | Acc: 48.447%\n",
      "Train Epoch: 2 [1360/4543 (30%)] Loss: 2.435396 | Acc: 48.173%\n",
      "Train Epoch: 2 [1440/4543 (32%)] Loss: 1.402033 | Acc: 48.757%\n",
      "Train Epoch: 2 [1520/4543 (33%)] Loss: 2.850830 | Acc: 49.018%\n",
      "Train Epoch: 2 [1600/4543 (35%)] Loss: 3.134495 | Acc: 49.005%\n",
      "Train Epoch: 2 [1680/4543 (37%)] Loss: 1.488684 | Acc: 49.348%\n",
      "Train Epoch: 2 [1760/4543 (39%)] Loss: 1.643825 | Acc: 49.321%\n",
      "Train Epoch: 2 [1840/4543 (40%)] Loss: 0.472737 | Acc: 49.729%\n",
      "Train Epoch: 2 [1920/4543 (42%)] Loss: 1.597445 | Acc: 50.000%\n",
      "Train Epoch: 2 [2000/4543 (44%)] Loss: 0.862548 | Acc: 50.398%\n",
      "Train Epoch: 2 [2080/4543 (46%)] Loss: 2.545460 | Acc: 50.623%\n",
      "Train Epoch: 2 [2160/4543 (48%)] Loss: 1.388428 | Acc: 50.830%\n",
      "Train Epoch: 2 [2240/4543 (49%)] Loss: 1.839131 | Acc: 50.801%\n",
      "Train Epoch: 2 [2320/4543 (51%)] Loss: 0.945542 | Acc: 51.074%\n",
      "Train Epoch: 2 [2400/4543 (53%)] Loss: 1.745522 | Acc: 50.955%\n",
      "Train Epoch: 2 [2480/4543 (55%)] Loss: 2.105886 | Acc: 51.085%\n",
      "Train Epoch: 2 [2560/4543 (56%)] Loss: 1.008754 | Acc: 51.246%\n",
      "Train Epoch: 2 [2640/4543 (58%)] Loss: 1.422224 | Acc: 51.171%\n",
      "Train Epoch: 2 [2720/4543 (60%)] Loss: 1.658939 | Acc: 51.173%\n",
      "Train Epoch: 2 [2800/4543 (62%)] Loss: 2.163618 | Acc: 50.997%\n",
      "Train Epoch: 2 [2880/4543 (63%)] Loss: 1.627623 | Acc: 51.177%\n",
      "Train Epoch: 2 [2960/4543 (65%)] Loss: 2.137028 | Acc: 51.280%\n",
      "Train Epoch: 2 [3040/4543 (67%)] Loss: 1.337121 | Acc: 51.640%\n",
      "Train Epoch: 2 [3120/4543 (69%)] Loss: 0.768419 | Acc: 51.694%\n",
      "Train Epoch: 2 [3200/4543 (70%)] Loss: 1.534265 | Acc: 51.808%\n",
      "Train Epoch: 2 [3280/4543 (72%)] Loss: 1.065043 | Acc: 51.946%\n",
      "Train Epoch: 2 [3360/4543 (74%)] Loss: 1.261539 | Acc: 51.960%\n",
      "Train Epoch: 2 [3440/4543 (76%)] Loss: 0.945404 | Acc: 52.233%\n",
      "Train Epoch: 2 [3520/4543 (77%)] Loss: 1.508254 | Acc: 52.154%\n",
      "Train Epoch: 2 [3600/4543 (79%)] Loss: 1.630481 | Acc: 52.328%\n",
      "Train Epoch: 2 [3680/4543 (81%)] Loss: 1.522872 | Acc: 52.576%\n",
      "Train Epoch: 2 [3760/4543 (83%)] Loss: 1.999831 | Acc: 52.627%\n",
      "Train Epoch: 2 [3840/4543 (85%)] Loss: 1.801398 | Acc: 52.625%\n",
      "Train Epoch: 2 [3920/4543 (86%)] Loss: 1.701190 | Acc: 52.699%\n",
      "Train Epoch: 2 [4000/4543 (88%)] Loss: 0.899942 | Acc: 52.994%\n",
      "Train Epoch: 2 [4080/4543 (90%)] Loss: 1.185189 | Acc: 53.302%\n",
      "Train Epoch: 2 [4160/4543 (92%)] Loss: 2.119637 | Acc: 53.095%\n",
      "Train Epoch: 2 [4240/4543 (93%)] Loss: 1.693135 | Acc: 53.013%\n",
      "Train Epoch: 2 [4320/4543 (95%)] Loss: 0.983630 | Acc: 53.142%\n",
      "Train Epoch: 2 [4400/4543 (97%)] Loss: 1.840335 | Acc: 53.312%\n",
      "Train Epoch: 2 [4480/4543 (99%)] Loss: 1.391260 | Acc: 53.342%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 1.1638\n",
      "Accuracy: 0.6920\n",
      "Precision: 0.6966\n",
      "Recall: 0.6992\n",
      "F1: 0.6812\n",
      "Kappa: 0.6832\n",
      "Hamming: 0.3080\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 3 [0/4543 (0%)] Loss: 2.386789 | Acc: 37.500%\n",
      "Train Epoch: 3 [80/4543 (2%)] Loss: 1.974623 | Acc: 54.545%\n",
      "Train Epoch: 3 [160/4543 (4%)] Loss: 1.341899 | Acc: 58.929%\n",
      "Train Epoch: 3 [240/4543 (5%)] Loss: 2.088837 | Acc: 58.871%\n",
      "Train Epoch: 3 [320/4543 (7%)] Loss: 0.503676 | Acc: 59.756%\n",
      "Train Epoch: 3 [400/4543 (9%)] Loss: 0.818477 | Acc: 59.314%\n",
      "Train Epoch: 3 [480/4543 (11%)] Loss: 0.946960 | Acc: 60.656%\n",
      "Train Epoch: 3 [560/4543 (12%)] Loss: 1.343941 | Acc: 60.211%\n",
      "Train Epoch: 3 [640/4543 (14%)] Loss: 1.499959 | Acc: 60.957%\n",
      "Train Epoch: 3 [720/4543 (16%)] Loss: 1.318272 | Acc: 60.440%\n",
      "Train Epoch: 3 [800/4543 (18%)] Loss: 1.129182 | Acc: 61.262%\n",
      "Train Epoch: 3 [880/4543 (19%)] Loss: 0.463953 | Acc: 61.937%\n",
      "Train Epoch: 3 [960/4543 (21%)] Loss: 1.357622 | Acc: 62.190%\n",
      "Train Epoch: 3 [1040/4543 (23%)] Loss: 0.488452 | Acc: 61.737%\n",
      "Train Epoch: 3 [1120/4543 (25%)] Loss: 1.930542 | Acc: 61.879%\n",
      "Train Epoch: 3 [1200/4543 (26%)] Loss: 0.361800 | Acc: 62.086%\n",
      "Train Epoch: 3 [1280/4543 (28%)] Loss: 1.645899 | Acc: 61.724%\n",
      "Train Epoch: 3 [1360/4543 (30%)] Loss: 1.646737 | Acc: 61.696%\n",
      "Train Epoch: 3 [1440/4543 (32%)] Loss: 1.052940 | Acc: 61.878%\n",
      "Train Epoch: 3 [1520/4543 (33%)] Loss: 0.958157 | Acc: 61.911%\n",
      "Train Epoch: 3 [1600/4543 (35%)] Loss: 1.579907 | Acc: 62.500%\n",
      "Train Epoch: 3 [1680/4543 (37%)] Loss: 0.994967 | Acc: 62.322%\n",
      "Train Epoch: 3 [1760/4543 (39%)] Loss: 0.529471 | Acc: 62.443%\n",
      "Train Epoch: 3 [1840/4543 (40%)] Loss: 1.020337 | Acc: 62.013%\n",
      "Train Epoch: 3 [1920/4543 (42%)] Loss: 1.672507 | Acc: 62.189%\n",
      "Train Epoch: 3 [2000/4543 (44%)] Loss: 1.996251 | Acc: 62.301%\n",
      "Train Epoch: 3 [2080/4543 (46%)] Loss: 1.357472 | Acc: 62.596%\n",
      "Train Epoch: 3 [2160/4543 (48%)] Loss: 1.193992 | Acc: 62.362%\n",
      "Train Epoch: 3 [2240/4543 (49%)] Loss: 1.234901 | Acc: 62.589%\n",
      "Train Epoch: 3 [2320/4543 (51%)] Loss: 1.706427 | Acc: 62.758%\n",
      "Train Epoch: 3 [2400/4543 (53%)] Loss: 1.531032 | Acc: 62.708%\n",
      "Train Epoch: 3 [2480/4543 (55%)] Loss: 1.792424 | Acc: 62.500%\n",
      "Train Epoch: 3 [2560/4543 (56%)] Loss: 1.407224 | Acc: 62.422%\n",
      "Train Epoch: 3 [2640/4543 (58%)] Loss: 1.970968 | Acc: 62.273%\n",
      "Train Epoch: 3 [2720/4543 (60%)] Loss: 1.215151 | Acc: 62.500%\n",
      "Train Epoch: 3 [2800/4543 (62%)] Loss: 1.531829 | Acc: 62.393%\n",
      "Train Epoch: 3 [2880/4543 (63%)] Loss: 0.666690 | Acc: 62.500%\n",
      "Train Epoch: 3 [2960/4543 (65%)] Loss: 1.515436 | Acc: 62.298%\n",
      "Train Epoch: 3 [3040/4543 (67%)] Loss: 0.944921 | Acc: 62.270%\n",
      "Train Epoch: 3 [3120/4543 (69%)] Loss: 1.735767 | Acc: 62.372%\n",
      "Train Epoch: 3 [3200/4543 (70%)] Loss: 1.449438 | Acc: 62.469%\n",
      "Train Epoch: 3 [3280/4543 (72%)] Loss: 1.065493 | Acc: 62.804%\n",
      "Train Epoch: 3 [3360/4543 (74%)] Loss: 0.874572 | Acc: 62.648%\n",
      "Train Epoch: 3 [3440/4543 (76%)] Loss: 1.388742 | Acc: 62.790%\n",
      "Train Epoch: 3 [3520/4543 (77%)] Loss: 1.311764 | Acc: 62.783%\n",
      "Train Epoch: 3 [3600/4543 (79%)] Loss: 0.993649 | Acc: 62.833%\n",
      "Train Epoch: 3 [3680/4543 (81%)] Loss: 1.261760 | Acc: 62.798%\n",
      "Train Epoch: 3 [3760/4543 (83%)] Loss: 0.749300 | Acc: 62.898%\n",
      "Train Epoch: 3 [3840/4543 (85%)] Loss: 1.451520 | Acc: 62.942%\n",
      "Train Epoch: 3 [3920/4543 (86%)] Loss: 1.595054 | Acc: 62.856%\n",
      "Train Epoch: 3 [4000/4543 (88%)] Loss: 1.082384 | Acc: 62.974%\n",
      "Train Epoch: 3 [4080/4543 (90%)] Loss: 1.351499 | Acc: 62.818%\n",
      "Train Epoch: 3 [4160/4543 (92%)] Loss: 1.397239 | Acc: 62.956%\n",
      "Train Epoch: 3 [4240/4543 (93%)] Loss: 1.911822 | Acc: 63.018%\n",
      "Train Epoch: 3 [4320/4543 (95%)] Loss: 0.821672 | Acc: 63.031%\n",
      "Train Epoch: 3 [4400/4543 (97%)] Loss: 0.828088 | Acc: 63.181%\n",
      "Train Epoch: 3 [4480/4543 (99%)] Loss: 2.212387 | Acc: 63.124%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 1.0411\n",
      "Accuracy: 0.7464\n",
      "Precision: 0.7630\n",
      "Recall: 0.7480\n",
      "F1: 0.7417\n",
      "Kappa: 0.7390\n",
      "Hamming: 0.2536\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 4 [0/4543 (0%)] Loss: 0.748927 | Acc: 87.500%\n",
      "Train Epoch: 4 [80/4543 (2%)] Loss: 1.061577 | Acc: 67.045%\n",
      "Train Epoch: 4 [160/4543 (4%)] Loss: 1.097263 | Acc: 66.667%\n",
      "Train Epoch: 4 [240/4543 (5%)] Loss: 1.205491 | Acc: 65.726%\n",
      "Train Epoch: 4 [320/4543 (7%)] Loss: 0.253673 | Acc: 67.073%\n",
      "Train Epoch: 4 [400/4543 (9%)] Loss: 1.756142 | Acc: 66.176%\n",
      "Train Epoch: 4 [480/4543 (11%)] Loss: 2.073776 | Acc: 66.189%\n",
      "Train Epoch: 4 [560/4543 (12%)] Loss: 0.488780 | Acc: 66.197%\n",
      "Train Epoch: 4 [640/4543 (14%)] Loss: 1.858733 | Acc: 66.512%\n",
      "Train Epoch: 4 [720/4543 (16%)] Loss: 1.032553 | Acc: 65.247%\n",
      "Train Epoch: 4 [800/4543 (18%)] Loss: 1.922668 | Acc: 65.594%\n",
      "Train Epoch: 4 [880/4543 (19%)] Loss: 0.812524 | Acc: 66.104%\n",
      "Train Epoch: 4 [960/4543 (21%)] Loss: 0.869119 | Acc: 66.219%\n",
      "Train Epoch: 4 [1040/4543 (23%)] Loss: 1.082100 | Acc: 66.031%\n",
      "Train Epoch: 4 [1120/4543 (25%)] Loss: 2.179935 | Acc: 66.135%\n",
      "Train Epoch: 4 [1200/4543 (26%)] Loss: 1.404007 | Acc: 66.308%\n",
      "Train Epoch: 4 [1280/4543 (28%)] Loss: 1.429977 | Acc: 66.227%\n",
      "Train Epoch: 4 [1360/4543 (30%)] Loss: 1.474663 | Acc: 66.301%\n",
      "Train Epoch: 4 [1440/4543 (32%)] Loss: 0.974559 | Acc: 66.989%\n",
      "Train Epoch: 4 [1520/4543 (33%)] Loss: 0.933314 | Acc: 67.147%\n",
      "Train Epoch: 4 [1600/4543 (35%)] Loss: 1.375069 | Acc: 66.915%\n",
      "Train Epoch: 4 [1680/4543 (37%)] Loss: 1.385092 | Acc: 67.358%\n",
      "Train Epoch: 4 [1760/4543 (39%)] Loss: 0.589356 | Acc: 67.421%\n",
      "Train Epoch: 4 [1840/4543 (40%)] Loss: 1.158517 | Acc: 67.424%\n",
      "Train Epoch: 4 [1920/4543 (42%)] Loss: 0.528941 | Acc: 67.427%\n",
      "Train Epoch: 4 [2000/4543 (44%)] Loss: 1.581694 | Acc: 67.629%\n",
      "Train Epoch: 4 [2080/4543 (46%)] Loss: 1.034135 | Acc: 67.529%\n",
      "Train Epoch: 4 [2160/4543 (48%)] Loss: 0.463299 | Acc: 67.804%\n",
      "Train Epoch: 4 [2240/4543 (49%)] Loss: 1.512156 | Acc: 67.660%\n",
      "Train Epoch: 4 [2320/4543 (51%)] Loss: 0.902551 | Acc: 68.084%\n",
      "Train Epoch: 4 [2400/4543 (53%)] Loss: 0.754554 | Acc: 68.148%\n",
      "Train Epoch: 4 [2480/4543 (55%)] Loss: 0.973743 | Acc: 68.127%\n",
      "Train Epoch: 4 [2560/4543 (56%)] Loss: 0.512873 | Acc: 68.380%\n",
      "Train Epoch: 4 [2640/4543 (58%)] Loss: 1.709673 | Acc: 68.278%\n",
      "Train Epoch: 4 [2720/4543 (60%)] Loss: 1.263588 | Acc: 68.475%\n",
      "Train Epoch: 4 [2800/4543 (62%)] Loss: 0.422893 | Acc: 68.447%\n",
      "Train Epoch: 4 [2880/4543 (63%)] Loss: 1.259988 | Acc: 68.352%\n",
      "Train Epoch: 4 [2960/4543 (65%)] Loss: 0.803068 | Acc: 68.228%\n",
      "Train Epoch: 4 [3040/4543 (67%)] Loss: 1.249596 | Acc: 68.274%\n",
      "Train Epoch: 4 [3120/4543 (69%)] Loss: 1.499519 | Acc: 68.350%\n",
      "Train Epoch: 4 [3200/4543 (70%)] Loss: 0.816044 | Acc: 68.360%\n",
      "Train Epoch: 4 [3280/4543 (72%)] Loss: 0.637737 | Acc: 68.583%\n",
      "Train Epoch: 4 [3360/4543 (74%)] Loss: 2.038465 | Acc: 68.498%\n",
      "Train Epoch: 4 [3440/4543 (76%)] Loss: 0.572308 | Acc: 68.735%\n",
      "Train Epoch: 4 [3520/4543 (77%)] Loss: 0.998764 | Acc: 68.906%\n",
      "Train Epoch: 4 [3600/4543 (79%)] Loss: 1.411964 | Acc: 68.764%\n",
      "Train Epoch: 4 [3680/4543 (81%)] Loss: 0.985069 | Acc: 68.682%\n",
      "Train Epoch: 4 [3760/4543 (83%)] Loss: 0.876089 | Acc: 68.445%\n",
      "Train Epoch: 4 [3840/4543 (85%)] Loss: 0.853873 | Acc: 68.477%\n",
      "Train Epoch: 4 [3920/4543 (86%)] Loss: 0.960898 | Acc: 68.534%\n",
      "Train Epoch: 4 [4000/4543 (88%)] Loss: 1.430729 | Acc: 68.438%\n",
      "Train Epoch: 4 [4080/4543 (90%)] Loss: 1.798334 | Acc: 68.322%\n",
      "Train Epoch: 4 [4160/4543 (92%)] Loss: 1.040395 | Acc: 68.186%\n",
      "Train Epoch: 4 [4240/4543 (93%)] Loss: 1.811865 | Acc: 68.032%\n",
      "Train Epoch: 4 [4320/4543 (95%)] Loss: 2.045594 | Acc: 67.999%\n",
      "Train Epoch: 4 [4400/4543 (97%)] Loss: 1.272342 | Acc: 68.058%\n",
      "Train Epoch: 4 [4480/4543 (99%)] Loss: 1.133222 | Acc: 68.048%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 0.9704\n",
      "Accuracy: 0.7554\n",
      "Precision: 0.7611\n",
      "Recall: 0.7578\n",
      "F1: 0.7509\n",
      "Kappa: 0.7484\n",
      "Hamming: 0.2446\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 5 [0/4543 (0%)] Loss: 2.057033 | Acc: 50.000%\n",
      "Train Epoch: 5 [80/4543 (2%)] Loss: 1.253859 | Acc: 70.455%\n",
      "Train Epoch: 5 [160/4543 (4%)] Loss: 1.295138 | Acc: 72.619%\n",
      "Train Epoch: 5 [240/4543 (5%)] Loss: 0.957144 | Acc: 74.194%\n",
      "Train Epoch: 5 [320/4543 (7%)] Loss: 1.450168 | Acc: 71.037%\n",
      "Train Epoch: 5 [400/4543 (9%)] Loss: 1.033365 | Acc: 68.873%\n",
      "Train Epoch: 5 [480/4543 (11%)] Loss: 0.448642 | Acc: 70.082%\n",
      "Train Epoch: 5 [560/4543 (12%)] Loss: 1.989992 | Acc: 70.775%\n",
      "Train Epoch: 5 [640/4543 (14%)] Loss: 0.880650 | Acc: 71.296%\n",
      "Train Epoch: 5 [720/4543 (16%)] Loss: 1.245391 | Acc: 72.390%\n",
      "Train Epoch: 5 [800/4543 (18%)] Loss: 1.937163 | Acc: 70.173%\n",
      "Train Epoch: 5 [880/4543 (19%)] Loss: 1.758619 | Acc: 70.270%\n",
      "Train Epoch: 5 [960/4543 (21%)] Loss: 1.154124 | Acc: 69.938%\n",
      "Train Epoch: 5 [1040/4543 (23%)] Loss: 0.878594 | Acc: 69.847%\n",
      "Train Epoch: 5 [1120/4543 (25%)] Loss: 0.208614 | Acc: 70.301%\n",
      "Train Epoch: 5 [1200/4543 (26%)] Loss: 0.877479 | Acc: 70.116%\n",
      "Train Epoch: 5 [1280/4543 (28%)] Loss: 0.974639 | Acc: 70.342%\n",
      "Train Epoch: 5 [1360/4543 (30%)] Loss: 1.481569 | Acc: 70.249%\n",
      "Train Epoch: 5 [1440/4543 (32%)] Loss: 0.666586 | Acc: 70.166%\n",
      "Train Epoch: 5 [1520/4543 (33%)] Loss: 1.241083 | Acc: 70.353%\n",
      "Train Epoch: 5 [1600/4543 (35%)] Loss: 0.844579 | Acc: 70.460%\n",
      "Train Epoch: 5 [1680/4543 (37%)] Loss: 0.373786 | Acc: 70.557%\n",
      "Train Epoch: 5 [1760/4543 (39%)] Loss: 0.418222 | Acc: 70.532%\n",
      "Train Epoch: 5 [1840/4543 (40%)] Loss: 1.252934 | Acc: 70.563%\n",
      "Train Epoch: 5 [1920/4543 (42%)] Loss: 0.289502 | Acc: 70.124%\n",
      "Train Epoch: 5 [2000/4543 (44%)] Loss: 1.009025 | Acc: 70.269%\n",
      "Train Epoch: 5 [2080/4543 (46%)] Loss: 0.244806 | Acc: 70.307%\n",
      "Train Epoch: 5 [2160/4543 (48%)] Loss: 0.690432 | Acc: 70.341%\n",
      "Train Epoch: 5 [2240/4543 (49%)] Loss: 1.621832 | Acc: 70.507%\n",
      "Train Epoch: 5 [2320/4543 (51%)] Loss: 0.728280 | Acc: 70.404%\n",
      "Train Epoch: 5 [2400/4543 (53%)] Loss: 0.407655 | Acc: 70.723%\n",
      "Train Epoch: 5 [2480/4543 (55%)] Loss: 1.586645 | Acc: 70.699%\n",
      "Train Epoch: 5 [2560/4543 (56%)] Loss: 1.414088 | Acc: 70.561%\n",
      "Train Epoch: 5 [2640/4543 (58%)] Loss: 1.071663 | Acc: 70.657%\n",
      "Train Epoch: 5 [2720/4543 (60%)] Loss: 0.574389 | Acc: 70.638%\n",
      "Train Epoch: 5 [2800/4543 (62%)] Loss: 0.691955 | Acc: 70.726%\n",
      "Train Epoch: 5 [2880/4543 (63%)] Loss: 0.655002 | Acc: 70.637%\n",
      "Train Epoch: 5 [2960/4543 (65%)] Loss: 0.901717 | Acc: 70.856%\n",
      "Train Epoch: 5 [3040/4543 (67%)] Loss: 0.466008 | Acc: 71.096%\n",
      "Train Epoch: 5 [3120/4543 (69%)] Loss: 2.253675 | Acc: 71.228%\n",
      "Train Epoch: 5 [3200/4543 (70%)] Loss: 0.238126 | Acc: 71.322%\n",
      "Train Epoch: 5 [3280/4543 (72%)] Loss: 1.228852 | Acc: 71.350%\n",
      "Train Epoch: 5 [3360/4543 (74%)] Loss: 1.415807 | Acc: 71.318%\n",
      "Train Epoch: 5 [3440/4543 (76%)] Loss: 1.613022 | Acc: 71.288%\n",
      "Train Epoch: 5 [3520/4543 (77%)] Loss: 2.046179 | Acc: 71.173%\n",
      "Train Epoch: 5 [3600/4543 (79%)] Loss: 1.976931 | Acc: 71.120%\n",
      "Train Epoch: 5 [3680/4543 (81%)] Loss: 0.857029 | Acc: 71.150%\n",
      "Train Epoch: 5 [3760/4543 (83%)] Loss: 1.022920 | Acc: 71.311%\n",
      "Train Epoch: 5 [3840/4543 (85%)] Loss: 0.309670 | Acc: 71.440%\n",
      "Train Epoch: 5 [3920/4543 (86%)] Loss: 0.878606 | Acc: 71.538%\n",
      "Train Epoch: 5 [4000/4543 (88%)] Loss: 1.785389 | Acc: 71.532%\n",
      "Train Epoch: 5 [4080/4543 (90%)] Loss: 0.986959 | Acc: 71.355%\n",
      "Train Epoch: 5 [4160/4543 (92%)] Loss: 1.944788 | Acc: 71.353%\n",
      "Train Epoch: 5 [4240/4543 (93%)] Loss: 1.148829 | Acc: 71.492%\n",
      "Train Epoch: 5 [4320/4543 (95%)] Loss: 1.185681 | Acc: 71.349%\n",
      "Train Epoch: 5 [4400/4543 (97%)] Loss: 0.639881 | Acc: 71.393%\n",
      "Train Epoch: 5 [4480/4543 (99%)] Loss: 0.998652 | Acc: 71.435%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 0.9584\n",
      "Accuracy: 0.7663\n",
      "Precision: 0.7769\n",
      "Recall: 0.7657\n",
      "F1: 0.7587\n",
      "Kappa: 0.7595\n",
      "Hamming: 0.2337\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 6 [0/4543 (0%)] Loss: 0.845645 | Acc: 75.000%\n",
      "Train Epoch: 6 [80/4543 (2%)] Loss: 0.774143 | Acc: 80.682%\n",
      "Train Epoch: 6 [160/4543 (4%)] Loss: 0.680174 | Acc: 79.167%\n",
      "Train Epoch: 6 [240/4543 (5%)] Loss: 0.869238 | Acc: 75.806%\n",
      "Train Epoch: 6 [320/4543 (7%)] Loss: 2.600152 | Acc: 76.524%\n",
      "Train Epoch: 6 [400/4543 (9%)] Loss: 1.113715 | Acc: 76.225%\n",
      "Train Epoch: 6 [480/4543 (11%)] Loss: 1.264785 | Acc: 75.205%\n",
      "Train Epoch: 6 [560/4543 (12%)] Loss: 1.147756 | Acc: 76.056%\n",
      "Train Epoch: 6 [640/4543 (14%)] Loss: 1.290807 | Acc: 75.154%\n",
      "Train Epoch: 6 [720/4543 (16%)] Loss: 0.488359 | Acc: 75.962%\n",
      "Train Epoch: 6 [800/4543 (18%)] Loss: 0.973586 | Acc: 75.743%\n",
      "Train Epoch: 6 [880/4543 (19%)] Loss: 0.295668 | Acc: 75.676%\n",
      "Train Epoch: 6 [960/4543 (21%)] Loss: 0.385837 | Acc: 76.033%\n",
      "Train Epoch: 6 [1040/4543 (23%)] Loss: 1.676637 | Acc: 75.668%\n",
      "Train Epoch: 6 [1120/4543 (25%)] Loss: 0.675355 | Acc: 76.152%\n",
      "Train Epoch: 6 [1200/4543 (26%)] Loss: 1.760301 | Acc: 75.993%\n",
      "Train Epoch: 6 [1280/4543 (28%)] Loss: 1.694641 | Acc: 75.543%\n",
      "Train Epoch: 6 [1360/4543 (30%)] Loss: 0.449898 | Acc: 75.439%\n",
      "Train Epoch: 6 [1440/4543 (32%)] Loss: 0.411374 | Acc: 75.691%\n",
      "Train Epoch: 6 [1520/4543 (33%)] Loss: 1.744736 | Acc: 75.458%\n",
      "Train Epoch: 6 [1600/4543 (35%)] Loss: 0.533250 | Acc: 75.746%\n",
      "Train Epoch: 6 [1680/4543 (37%)] Loss: 0.452382 | Acc: 75.592%\n",
      "Train Epoch: 6 [1760/4543 (39%)] Loss: 1.310484 | Acc: 75.905%\n",
      "Train Epoch: 6 [1840/4543 (40%)] Loss: 0.267075 | Acc: 75.974%\n",
      "Train Epoch: 6 [1920/4543 (42%)] Loss: 0.980744 | Acc: 75.882%\n",
      "Train Epoch: 6 [2000/4543 (44%)] Loss: 1.319211 | Acc: 75.896%\n",
      "Train Epoch: 6 [2080/4543 (46%)] Loss: 0.410153 | Acc: 75.910%\n",
      "Train Epoch: 6 [2160/4543 (48%)] Loss: 0.525608 | Acc: 76.153%\n",
      "Train Epoch: 6 [2240/4543 (49%)] Loss: 0.659133 | Acc: 76.157%\n",
      "Train Epoch: 6 [2320/4543 (51%)] Loss: 1.082747 | Acc: 76.117%\n",
      "Train Epoch: 6 [2400/4543 (53%)] Loss: 0.650989 | Acc: 76.370%\n",
      "Train Epoch: 6 [2480/4543 (55%)] Loss: 1.166651 | Acc: 76.246%\n",
      "Train Epoch: 6 [2560/4543 (56%)] Loss: 1.171059 | Acc: 76.168%\n",
      "Train Epoch: 6 [2640/4543 (58%)] Loss: 0.899727 | Acc: 76.322%\n",
      "Train Epoch: 6 [2720/4543 (60%)] Loss: 1.359251 | Acc: 76.430%\n",
      "Train Epoch: 6 [2800/4543 (62%)] Loss: 0.729757 | Acc: 76.389%\n",
      "Train Epoch: 6 [2880/4543 (63%)] Loss: 1.537241 | Acc: 76.385%\n",
      "Train Epoch: 6 [2960/4543 (65%)] Loss: 0.699842 | Acc: 76.482%\n",
      "Train Epoch: 6 [3040/4543 (67%)] Loss: 0.875780 | Acc: 76.476%\n",
      "Train Epoch: 6 [3120/4543 (69%)] Loss: 0.439792 | Acc: 76.566%\n",
      "Train Epoch: 6 [3200/4543 (70%)] Loss: 1.158828 | Acc: 76.683%\n",
      "Train Epoch: 6 [3280/4543 (72%)] Loss: 0.471771 | Acc: 76.825%\n",
      "Train Epoch: 6 [3360/4543 (74%)] Loss: 0.884212 | Acc: 76.841%\n",
      "Train Epoch: 6 [3440/4543 (76%)] Loss: 0.664029 | Acc: 76.769%\n",
      "Train Epoch: 6 [3520/4543 (77%)] Loss: 0.844949 | Acc: 76.672%\n",
      "Train Epoch: 6 [3600/4543 (79%)] Loss: 0.256388 | Acc: 76.829%\n",
      "Train Epoch: 6 [3680/4543 (81%)] Loss: 1.044429 | Acc: 76.790%\n",
      "Train Epoch: 6 [3760/4543 (83%)] Loss: 0.308111 | Acc: 76.778%\n",
      "Train Epoch: 6 [3840/4543 (85%)] Loss: 1.067142 | Acc: 76.637%\n",
      "Train Epoch: 6 [3920/4543 (86%)] Loss: 0.563654 | Acc: 76.833%\n",
      "Train Epoch: 6 [4000/4543 (88%)] Loss: 0.458205 | Acc: 76.747%\n",
      "Train Epoch: 6 [4080/4543 (90%)] Loss: 0.920584 | Acc: 76.663%\n",
      "Train Epoch: 6 [4160/4543 (92%)] Loss: 1.583547 | Acc: 76.607%\n",
      "Train Epoch: 6 [4240/4543 (93%)] Loss: 0.403821 | Acc: 76.648%\n",
      "Train Epoch: 6 [4320/4543 (95%)] Loss: 0.606585 | Acc: 76.733%\n",
      "Train Epoch: 6 [4400/4543 (97%)] Loss: 0.763412 | Acc: 76.565%\n",
      "Train Epoch: 6 [4480/4543 (99%)] Loss: 0.447353 | Acc: 76.515%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 0.8964\n",
      "Accuracy: 0.8007\n",
      "Precision: 0.8025\n",
      "Recall: 0.8015\n",
      "F1: 0.7951\n",
      "Kappa: 0.7949\n",
      "Hamming: 0.1993\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 7 [0/4543 (0%)] Loss: 0.485057 | Acc: 87.500%\n",
      "Train Epoch: 7 [80/4543 (2%)] Loss: 0.438689 | Acc: 75.000%\n",
      "Train Epoch: 7 [160/4543 (4%)] Loss: 0.476826 | Acc: 79.762%\n",
      "Train Epoch: 7 [240/4543 (5%)] Loss: 0.105602 | Acc: 82.661%\n",
      "Train Epoch: 7 [320/4543 (7%)] Loss: 1.644829 | Acc: 80.793%\n",
      "Train Epoch: 7 [400/4543 (9%)] Loss: 0.681124 | Acc: 81.373%\n",
      "Train Epoch: 7 [480/4543 (11%)] Loss: 0.667395 | Acc: 82.172%\n",
      "Train Epoch: 7 [560/4543 (12%)] Loss: 0.277784 | Acc: 81.690%\n",
      "Train Epoch: 7 [640/4543 (14%)] Loss: 0.712854 | Acc: 81.173%\n",
      "Train Epoch: 7 [720/4543 (16%)] Loss: 1.010613 | Acc: 80.495%\n",
      "Train Epoch: 7 [800/4543 (18%)] Loss: 1.135554 | Acc: 80.198%\n",
      "Train Epoch: 7 [880/4543 (19%)] Loss: 0.898392 | Acc: 79.392%\n",
      "Train Epoch: 7 [960/4543 (21%)] Loss: 0.464887 | Acc: 79.339%\n",
      "Train Epoch: 7 [1040/4543 (23%)] Loss: 1.064502 | Acc: 79.676%\n",
      "Train Epoch: 7 [1120/4543 (25%)] Loss: 0.341400 | Acc: 80.319%\n",
      "Train Epoch: 7 [1200/4543 (26%)] Loss: 0.177408 | Acc: 80.546%\n",
      "Train Epoch: 7 [1280/4543 (28%)] Loss: 0.876142 | Acc: 80.823%\n",
      "Train Epoch: 7 [1360/4543 (30%)] Loss: 0.817644 | Acc: 80.482%\n",
      "Train Epoch: 7 [1440/4543 (32%)] Loss: 1.071609 | Acc: 80.249%\n",
      "Train Epoch: 7 [1520/4543 (33%)] Loss: 0.624323 | Acc: 80.497%\n",
      "Train Epoch: 7 [1600/4543 (35%)] Loss: 1.463224 | Acc: 80.100%\n",
      "Train Epoch: 7 [1680/4543 (37%)] Loss: 0.282181 | Acc: 79.976%\n",
      "Train Epoch: 7 [1760/4543 (39%)] Loss: 1.129816 | Acc: 79.977%\n",
      "Train Epoch: 7 [1840/4543 (40%)] Loss: 0.420201 | Acc: 79.654%\n",
      "Train Epoch: 7 [1920/4543 (42%)] Loss: 0.699747 | Acc: 79.720%\n",
      "Train Epoch: 7 [2000/4543 (44%)] Loss: 1.619234 | Acc: 79.582%\n",
      "Train Epoch: 7 [2080/4543 (46%)] Loss: 0.672925 | Acc: 79.358%\n",
      "Train Epoch: 7 [2160/4543 (48%)] Loss: 0.909056 | Acc: 79.382%\n",
      "Train Epoch: 7 [2240/4543 (49%)] Loss: 1.216766 | Acc: 79.493%\n",
      "Train Epoch: 7 [2320/4543 (51%)] Loss: 0.471688 | Acc: 79.253%\n",
      "Train Epoch: 7 [2400/4543 (53%)] Loss: 0.472551 | Acc: 79.153%\n",
      "Train Epoch: 7 [2480/4543 (55%)] Loss: 0.383712 | Acc: 79.220%\n",
      "Train Epoch: 7 [2560/4543 (56%)] Loss: 0.432083 | Acc: 79.400%\n",
      "Train Epoch: 7 [2640/4543 (58%)] Loss: 0.346687 | Acc: 79.494%\n",
      "Train Epoch: 7 [2720/4543 (60%)] Loss: 1.330190 | Acc: 79.326%\n",
      "Train Epoch: 7 [2800/4543 (62%)] Loss: 1.045178 | Acc: 79.380%\n",
      "Train Epoch: 7 [2880/4543 (63%)] Loss: 0.622968 | Acc: 79.328%\n",
      "Train Epoch: 7 [2960/4543 (65%)] Loss: 0.717043 | Acc: 79.077%\n",
      "Train Epoch: 7 [3040/4543 (67%)] Loss: 0.973450 | Acc: 79.199%\n",
      "Train Epoch: 7 [3120/4543 (69%)] Loss: 0.200152 | Acc: 79.092%\n",
      "Train Epoch: 7 [3200/4543 (70%)] Loss: 0.824800 | Acc: 79.115%\n",
      "Train Epoch: 7 [3280/4543 (72%)] Loss: 0.206176 | Acc: 79.197%\n",
      "Train Epoch: 7 [3360/4543 (74%)] Loss: 0.649021 | Acc: 79.157%\n",
      "Train Epoch: 7 [3440/4543 (76%)] Loss: 0.270603 | Acc: 79.292%\n",
      "Train Epoch: 7 [3520/4543 (77%)] Loss: 0.496699 | Acc: 79.422%\n",
      "Train Epoch: 7 [3600/4543 (79%)] Loss: 0.359125 | Acc: 79.407%\n",
      "Train Epoch: 7 [3680/4543 (81%)] Loss: 0.922164 | Acc: 79.447%\n",
      "Train Epoch: 7 [3760/4543 (83%)] Loss: 0.836654 | Acc: 79.273%\n",
      "Train Epoch: 7 [3840/4543 (85%)] Loss: 1.045340 | Acc: 79.314%\n",
      "Train Epoch: 7 [3920/4543 (86%)] Loss: 0.579066 | Acc: 79.353%\n",
      "Train Epoch: 7 [4000/4543 (88%)] Loss: 0.755996 | Acc: 79.366%\n",
      "Train Epoch: 7 [4080/4543 (90%)] Loss: 0.492405 | Acc: 79.354%\n",
      "Train Epoch: 7 [4160/4543 (92%)] Loss: 0.377709 | Acc: 79.247%\n",
      "Train Epoch: 7 [4240/4543 (93%)] Loss: 0.616169 | Acc: 79.308%\n",
      "Train Epoch: 7 [4320/4543 (95%)] Loss: 1.386047 | Acc: 79.367%\n",
      "Train Epoch: 7 [4400/4543 (97%)] Loss: 0.863534 | Acc: 79.356%\n",
      "Train Epoch: 7 [4480/4543 (99%)] Loss: 0.809675 | Acc: 79.323%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 0.8345\n",
      "Accuracy: 0.7772\n",
      "Precision: 0.7814\n",
      "Recall: 0.7759\n",
      "F1: 0.7723\n",
      "Kappa: 0.7707\n",
      "Hamming: 0.2228\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 8 [0/4543 (0%)] Loss: 0.797222 | Acc: 75.000%\n",
      "Train Epoch: 8 [80/4543 (2%)] Loss: 0.199614 | Acc: 77.273%\n",
      "Train Epoch: 8 [160/4543 (4%)] Loss: 1.339568 | Acc: 80.357%\n",
      "Train Epoch: 8 [240/4543 (5%)] Loss: 0.486825 | Acc: 79.839%\n",
      "Train Epoch: 8 [320/4543 (7%)] Loss: 0.562562 | Acc: 80.183%\n",
      "Train Epoch: 8 [400/4543 (9%)] Loss: 0.425937 | Acc: 80.392%\n",
      "Train Epoch: 8 [480/4543 (11%)] Loss: 0.322446 | Acc: 80.328%\n",
      "Train Epoch: 8 [560/4543 (12%)] Loss: 0.548295 | Acc: 80.458%\n",
      "Train Epoch: 8 [640/4543 (14%)] Loss: 0.887427 | Acc: 81.173%\n",
      "Train Epoch: 8 [720/4543 (16%)] Loss: 1.503824 | Acc: 81.181%\n",
      "Train Epoch: 8 [800/4543 (18%)] Loss: 0.090601 | Acc: 80.693%\n",
      "Train Epoch: 8 [880/4543 (19%)] Loss: 0.702763 | Acc: 80.180%\n",
      "Train Epoch: 8 [960/4543 (21%)] Loss: 0.585440 | Acc: 80.165%\n",
      "Train Epoch: 8 [1040/4543 (23%)] Loss: 0.074995 | Acc: 80.534%\n",
      "Train Epoch: 8 [1120/4543 (25%)] Loss: 0.354886 | Acc: 80.940%\n",
      "Train Epoch: 8 [1200/4543 (26%)] Loss: 0.905829 | Acc: 80.877%\n",
      "Train Epoch: 8 [1280/4543 (28%)] Loss: 1.083819 | Acc: 80.512%\n",
      "Train Epoch: 8 [1360/4543 (30%)] Loss: 1.198961 | Acc: 80.263%\n",
      "Train Epoch: 8 [1440/4543 (32%)] Loss: 1.054345 | Acc: 79.765%\n",
      "Train Epoch: 8 [1520/4543 (33%)] Loss: 1.298862 | Acc: 79.712%\n",
      "Train Epoch: 8 [1600/4543 (35%)] Loss: 0.516771 | Acc: 80.348%\n",
      "Train Epoch: 8 [1680/4543 (37%)] Loss: 0.914305 | Acc: 80.450%\n",
      "Train Epoch: 8 [1760/4543 (39%)] Loss: 0.846952 | Acc: 80.090%\n",
      "Train Epoch: 8 [1840/4543 (40%)] Loss: 0.117764 | Acc: 79.978%\n",
      "Train Epoch: 8 [1920/4543 (42%)] Loss: 1.116658 | Acc: 79.824%\n",
      "Train Epoch: 8 [2000/4543 (44%)] Loss: 1.381489 | Acc: 79.831%\n",
      "Train Epoch: 8 [2080/4543 (46%)] Loss: 0.518975 | Acc: 79.693%\n",
      "Train Epoch: 8 [2160/4543 (48%)] Loss: 0.597294 | Acc: 79.474%\n",
      "Train Epoch: 8 [2240/4543 (49%)] Loss: 0.726816 | Acc: 79.626%\n",
      "Train Epoch: 8 [2320/4543 (51%)] Loss: 0.946702 | Acc: 79.467%\n",
      "Train Epoch: 8 [2400/4543 (53%)] Loss: 0.656851 | Acc: 79.651%\n",
      "Train Epoch: 8 [2480/4543 (55%)] Loss: 0.366962 | Acc: 79.783%\n",
      "Train Epoch: 8 [2560/4543 (56%)] Loss: 0.251679 | Acc: 79.790%\n",
      "Train Epoch: 8 [2640/4543 (58%)] Loss: 0.371785 | Acc: 80.023%\n",
      "Train Epoch: 8 [2720/4543 (60%)] Loss: 0.322963 | Acc: 80.169%\n",
      "Train Epoch: 8 [2800/4543 (62%)] Loss: 1.427077 | Acc: 80.128%\n",
      "Train Epoch: 8 [2880/4543 (63%)] Loss: 0.665768 | Acc: 80.055%\n",
      "Train Epoch: 8 [2960/4543 (65%)] Loss: 0.400584 | Acc: 79.784%\n",
      "Train Epoch: 8 [3040/4543 (67%)] Loss: 0.538900 | Acc: 79.593%\n",
      "Train Epoch: 8 [3120/4543 (69%)] Loss: 0.784615 | Acc: 79.636%\n",
      "Train Epoch: 8 [3200/4543 (70%)] Loss: 0.361496 | Acc: 79.707%\n",
      "Train Epoch: 8 [3280/4543 (72%)] Loss: 0.571238 | Acc: 79.501%\n",
      "Train Epoch: 8 [3360/4543 (74%)] Loss: 0.279813 | Acc: 79.751%\n",
      "Train Epoch: 8 [3440/4543 (76%)] Loss: 0.386924 | Acc: 79.524%\n",
      "Train Epoch: 8 [3520/4543 (77%)] Loss: 0.653242 | Acc: 79.620%\n",
      "Train Epoch: 8 [3600/4543 (79%)] Loss: 1.047404 | Acc: 79.712%\n",
      "Train Epoch: 8 [3680/4543 (81%)] Loss: 0.123183 | Acc: 79.854%\n",
      "Train Epoch: 8 [3760/4543 (83%)] Loss: 0.451143 | Acc: 79.910%\n",
      "Train Epoch: 8 [3840/4543 (85%)] Loss: 1.015995 | Acc: 79.912%\n",
      "Train Epoch: 8 [3920/4543 (86%)] Loss: 0.402038 | Acc: 79.913%\n",
      "Train Epoch: 8 [4000/4543 (88%)] Loss: 0.356624 | Acc: 79.840%\n",
      "Train Epoch: 8 [4080/4543 (90%)] Loss: 1.042497 | Acc: 79.648%\n",
      "Train Epoch: 8 [4160/4543 (92%)] Loss: 1.209507 | Acc: 79.726%\n",
      "Train Epoch: 8 [4240/4543 (93%)] Loss: 0.567366 | Acc: 79.779%\n",
      "Train Epoch: 8 [4320/4543 (95%)] Loss: 0.355018 | Acc: 79.875%\n",
      "Train Epoch: 8 [4400/4543 (97%)] Loss: 0.712138 | Acc: 79.946%\n",
      "Train Epoch: 8 [4480/4543 (99%)] Loss: 1.361804 | Acc: 79.947%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 0.9265\n",
      "Accuracy: 0.7917\n",
      "Precision: 0.7934\n",
      "Recall: 0.7939\n",
      "F1: 0.7872\n",
      "Kappa: 0.7856\n",
      "Hamming: 0.2083\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 9 [0/4543 (0%)] Loss: 0.381565 | Acc: 87.500%\n",
      "Train Epoch: 9 [80/4543 (2%)] Loss: 0.762753 | Acc: 78.409%\n",
      "Train Epoch: 9 [160/4543 (4%)] Loss: 0.225951 | Acc: 78.571%\n",
      "Train Epoch: 9 [240/4543 (5%)] Loss: 0.952595 | Acc: 80.242%\n",
      "Train Epoch: 9 [320/4543 (7%)] Loss: 0.581355 | Acc: 81.707%\n",
      "Train Epoch: 9 [400/4543 (9%)] Loss: 0.705501 | Acc: 80.147%\n",
      "Train Epoch: 9 [480/4543 (11%)] Loss: 0.442709 | Acc: 80.328%\n",
      "Train Epoch: 9 [560/4543 (12%)] Loss: 0.746885 | Acc: 80.282%\n",
      "Train Epoch: 9 [640/4543 (14%)] Loss: 0.070449 | Acc: 81.019%\n",
      "Train Epoch: 9 [720/4543 (16%)] Loss: 1.055226 | Acc: 80.769%\n",
      "Train Epoch: 9 [800/4543 (18%)] Loss: 0.908546 | Acc: 80.074%\n",
      "Train Epoch: 9 [880/4543 (19%)] Loss: 0.374011 | Acc: 80.743%\n",
      "Train Epoch: 9 [960/4543 (21%)] Loss: 0.864762 | Acc: 80.475%\n",
      "Train Epoch: 9 [1040/4543 (23%)] Loss: 0.415948 | Acc: 80.439%\n",
      "Train Epoch: 9 [1120/4543 (25%)] Loss: 1.013749 | Acc: 80.408%\n",
      "Train Epoch: 9 [1200/4543 (26%)] Loss: 0.544393 | Acc: 80.712%\n",
      "Train Epoch: 9 [1280/4543 (28%)] Loss: 0.434461 | Acc: 80.668%\n",
      "Train Epoch: 9 [1360/4543 (30%)] Loss: 0.706939 | Acc: 80.702%\n",
      "Train Epoch: 9 [1440/4543 (32%)] Loss: 0.236390 | Acc: 81.077%\n",
      "Train Epoch: 9 [1520/4543 (33%)] Loss: 1.185724 | Acc: 81.086%\n",
      "Train Epoch: 9 [1600/4543 (35%)] Loss: 1.603697 | Acc: 80.970%\n",
      "Train Epoch: 9 [1680/4543 (37%)] Loss: 0.816808 | Acc: 80.924%\n",
      "Train Epoch: 9 [1760/4543 (39%)] Loss: 1.104243 | Acc: 81.109%\n",
      "Train Epoch: 9 [1840/4543 (40%)] Loss: 0.734123 | Acc: 80.952%\n",
      "Train Epoch: 9 [1920/4543 (42%)] Loss: 0.610297 | Acc: 80.809%\n",
      "Train Epoch: 9 [2000/4543 (44%)] Loss: 1.194466 | Acc: 80.627%\n",
      "Train Epoch: 9 [2080/4543 (46%)] Loss: 1.014421 | Acc: 80.603%\n",
      "Train Epoch: 9 [2160/4543 (48%)] Loss: 0.555046 | Acc: 80.535%\n",
      "Train Epoch: 9 [2240/4543 (49%)] Loss: 0.452797 | Acc: 80.560%\n",
      "Train Epoch: 9 [2320/4543 (51%)] Loss: 0.477418 | Acc: 80.584%\n",
      "Train Epoch: 9 [2400/4543 (53%)] Loss: 0.848115 | Acc: 80.772%\n",
      "Train Epoch: 9 [2480/4543 (55%)] Loss: 0.859292 | Acc: 80.989%\n",
      "Train Epoch: 9 [2560/4543 (56%)] Loss: 0.460696 | Acc: 80.919%\n",
      "Train Epoch: 9 [2640/4543 (58%)] Loss: 0.431942 | Acc: 81.042%\n",
      "Train Epoch: 9 [2720/4543 (60%)] Loss: 1.008129 | Acc: 80.792%\n",
      "Train Epoch: 9 [2800/4543 (62%)] Loss: 0.846591 | Acc: 80.840%\n",
      "Train Epoch: 9 [2880/4543 (63%)] Loss: 1.042699 | Acc: 80.852%\n",
      "Train Epoch: 9 [2960/4543 (65%)] Loss: 0.570204 | Acc: 80.863%\n",
      "Train Epoch: 9 [3040/4543 (67%)] Loss: 0.635869 | Acc: 80.840%\n",
      "Train Epoch: 9 [3120/4543 (69%)] Loss: 0.173371 | Acc: 80.818%\n",
      "Train Epoch: 9 [3200/4543 (70%)] Loss: 0.106937 | Acc: 80.860%\n",
      "Train Epoch: 9 [3280/4543 (72%)] Loss: 0.303815 | Acc: 80.870%\n",
      "Train Epoch: 9 [3360/4543 (74%)] Loss: 0.560390 | Acc: 80.730%\n",
      "Train Epoch: 9 [3440/4543 (76%)] Loss: 1.199871 | Acc: 80.655%\n",
      "Train Epoch: 9 [3520/4543 (77%)] Loss: 1.037621 | Acc: 80.584%\n",
      "Train Epoch: 9 [3600/4543 (79%)] Loss: 0.206202 | Acc: 80.737%\n",
      "Train Epoch: 9 [3680/4543 (81%)] Loss: 0.358967 | Acc: 80.748%\n",
      "Train Epoch: 9 [3760/4543 (83%)] Loss: 0.489560 | Acc: 80.732%\n",
      "Train Epoch: 9 [3840/4543 (85%)] Loss: 0.460711 | Acc: 80.795%\n",
      "Train Epoch: 9 [3920/4543 (86%)] Loss: 0.138497 | Acc: 80.932%\n",
      "Train Epoch: 9 [4000/4543 (88%)] Loss: 0.277095 | Acc: 80.888%\n",
      "Train Epoch: 9 [4080/4543 (90%)] Loss: 1.145979 | Acc: 80.846%\n",
      "Train Epoch: 9 [4160/4543 (92%)] Loss: 0.917840 | Acc: 80.758%\n",
      "Train Epoch: 9 [4240/4543 (93%)] Loss: 0.363373 | Acc: 80.885%\n",
      "Train Epoch: 9 [4320/4543 (95%)] Loss: 0.725445 | Acc: 80.984%\n",
      "Train Epoch: 9 [4400/4543 (97%)] Loss: 0.432371 | Acc: 80.966%\n",
      "Train Epoch: 9 [4480/4543 (99%)] Loss: 0.514363 | Acc: 80.949%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 0.8355\n",
      "Accuracy: 0.8007\n",
      "Precision: 0.8017\n",
      "Recall: 0.8008\n",
      "F1: 0.7963\n",
      "Kappa: 0.7949\n",
      "Hamming: 0.1993\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\13175\\AppData\\Local\\Temp\\ipykernel_35412\\1825326335.py:85: FutureWarning: `torch.cuda.amp.autocast(args...)` is deprecated. Please use `torch.amp.autocast('cuda', args...)` instead.\n",
      "  with autocast():\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Epoch: 10 [0/4543 (0%)] Loss: 0.747041 | Acc: 75.000%\n",
      "Train Epoch: 10 [80/4543 (2%)] Loss: 1.125027 | Acc: 81.818%\n",
      "Train Epoch: 10 [160/4543 (4%)] Loss: 1.247809 | Acc: 77.381%\n",
      "Train Epoch: 10 [240/4543 (5%)] Loss: 1.140959 | Acc: 77.419%\n",
      "Train Epoch: 10 [320/4543 (7%)] Loss: 1.234083 | Acc: 76.829%\n",
      "Train Epoch: 10 [400/4543 (9%)] Loss: 0.619241 | Acc: 78.186%\n",
      "Train Epoch: 10 [480/4543 (11%)] Loss: 0.141470 | Acc: 78.893%\n",
      "Train Epoch: 10 [560/4543 (12%)] Loss: 0.452602 | Acc: 79.225%\n",
      "Train Epoch: 10 [640/4543 (14%)] Loss: 0.717391 | Acc: 79.167%\n",
      "Train Epoch: 10 [720/4543 (16%)] Loss: 0.613674 | Acc: 78.709%\n",
      "Train Epoch: 10 [800/4543 (18%)] Loss: 0.674529 | Acc: 78.960%\n",
      "Train Epoch: 10 [880/4543 (19%)] Loss: 0.108474 | Acc: 79.505%\n",
      "Train Epoch: 10 [960/4543 (21%)] Loss: 0.900727 | Acc: 80.269%\n",
      "Train Epoch: 10 [1040/4543 (23%)] Loss: 1.162018 | Acc: 80.344%\n",
      "Train Epoch: 10 [1120/4543 (25%)] Loss: 0.054573 | Acc: 80.851%\n",
      "Train Epoch: 10 [1200/4543 (26%)] Loss: 1.184962 | Acc: 80.215%\n",
      "Train Epoch: 10 [1280/4543 (28%)] Loss: 0.703815 | Acc: 80.047%\n",
      "Train Epoch: 10 [1360/4543 (30%)] Loss: 0.430015 | Acc: 80.190%\n",
      "Train Epoch: 10 [1440/4543 (32%)] Loss: 0.509851 | Acc: 80.318%\n",
      "Train Epoch: 10 [1520/4543 (33%)] Loss: 1.089003 | Acc: 80.694%\n",
      "Train Epoch: 10 [1600/4543 (35%)] Loss: 0.283367 | Acc: 80.970%\n",
      "Train Epoch: 10 [1680/4543 (37%)] Loss: 0.628417 | Acc: 80.806%\n",
      "Train Epoch: 10 [1760/4543 (39%)] Loss: 0.080708 | Acc: 80.769%\n",
      "Train Epoch: 10 [1840/4543 (40%)] Loss: 0.818724 | Acc: 81.006%\n",
      "Train Epoch: 10 [1920/4543 (42%)] Loss: 0.292058 | Acc: 81.120%\n",
      "Train Epoch: 10 [2000/4543 (44%)] Loss: 1.075220 | Acc: 81.275%\n",
      "Train Epoch: 10 [2080/4543 (46%)] Loss: 0.498343 | Acc: 81.274%\n",
      "Train Epoch: 10 [2160/4543 (48%)] Loss: 0.750174 | Acc: 81.504%\n",
      "Train Epoch: 10 [2240/4543 (49%)] Loss: 0.839269 | Acc: 81.228%\n",
      "Train Epoch: 10 [2320/4543 (51%)] Loss: 0.420791 | Acc: 81.314%\n",
      "Train Epoch: 10 [2400/4543 (53%)] Loss: 0.904198 | Acc: 81.188%\n",
      "Train Epoch: 10 [2480/4543 (55%)] Loss: 0.867394 | Acc: 81.190%\n",
      "Train Epoch: 10 [2560/4543 (56%)] Loss: 0.147634 | Acc: 81.308%\n",
      "Train Epoch: 10 [2640/4543 (58%)] Loss: 0.138534 | Acc: 81.344%\n",
      "Train Epoch: 10 [2720/4543 (60%)] Loss: 1.225575 | Acc: 81.232%\n",
      "Train Epoch: 10 [2800/4543 (62%)] Loss: 0.975096 | Acc: 81.446%\n",
      "Train Epoch: 10 [2880/4543 (63%)] Loss: 0.890894 | Acc: 81.440%\n",
      "Train Epoch: 10 [2960/4543 (65%)] Loss: 0.184905 | Acc: 81.402%\n",
      "Train Epoch: 10 [3040/4543 (67%)] Loss: 0.834719 | Acc: 81.299%\n",
      "Train Epoch: 10 [3120/4543 (69%)] Loss: 0.399286 | Acc: 81.330%\n",
      "Train Epoch: 10 [3200/4543 (70%)] Loss: 1.751709 | Acc: 81.390%\n",
      "Train Epoch: 10 [3280/4543 (72%)] Loss: 0.608571 | Acc: 81.235%\n",
      "Train Epoch: 10 [3360/4543 (74%)] Loss: 0.301363 | Acc: 81.354%\n",
      "Train Epoch: 10 [3440/4543 (76%)] Loss: 0.267204 | Acc: 81.381%\n",
      "Train Epoch: 10 [3520/4543 (77%)] Loss: 0.886178 | Acc: 81.378%\n",
      "Train Epoch: 10 [3600/4543 (79%)] Loss: 0.276493 | Acc: 81.292%\n",
      "Train Epoch: 10 [3680/4543 (81%)] Loss: 1.613599 | Acc: 81.264%\n",
      "Train Epoch: 10 [3760/4543 (83%)] Loss: 0.417999 | Acc: 81.157%\n",
      "Train Epoch: 10 [3840/4543 (85%)] Loss: 0.551133 | Acc: 81.159%\n",
      "Train Epoch: 10 [3920/4543 (86%)] Loss: 0.992732 | Acc: 81.186%\n",
      "Train Epoch: 10 [4000/4543 (88%)] Loss: 0.478067 | Acc: 81.262%\n",
      "Train Epoch: 10 [4080/4543 (90%)] Loss: 0.229683 | Acc: 81.360%\n",
      "Train Epoch: 10 [4160/4543 (92%)] Loss: 0.511074 | Acc: 81.406%\n",
      "Train Epoch: 10 [4240/4543 (93%)] Loss: 0.838564 | Acc: 81.238%\n",
      "Train Epoch: 10 [4320/4543 (95%)] Loss: 0.394852 | Acc: 81.262%\n",
      "Train Epoch: 10 [4400/4543 (97%)] Loss: 0.469276 | Acc: 81.307%\n",
      "Train Epoch: 10 [4480/4543 (99%)] Loss: 0.867376 | Acc: 81.328%\n",
      "\n",
      "Validation Metrics:\n",
      "Loss: 0.8298\n",
      "Accuracy: 0.7953\n",
      "Precision: 0.7963\n",
      "Recall: 0.7976\n",
      "F1: 0.7920\n",
      "Kappa: 0.7894\n",
      "Hamming: 0.2047\n"
     ]
    },
    {
     "data": {
      "image/png": "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9Cjh4eHnlWvUqFGMGjWK4uJi1q1bx4wZMxg3bhytWrWif//+p61/Ptf3Io2FRqKLSK3w9vYmNjaWRYsWVbnTXF5ezscff0xYWBjt27c/bbvg4GAmTpzIzTffzN69eykoKDhtnfbt2/P444/TtWtXNm3aVKffQ0RExCxWq5UPP/yQNm3a8Ouvv572evjhh0lJSWHp0qWMGDGCX3/99bRHqf9oxIgR7Nu376wTerVq1QqAbdu2VVn+zTff1Dh3ZUGgcsRZpXfeeafKe09PTy655BI+//zzaov0lTw8PLjrrrv48MMPefnll+nRo0eVkXwiIiKO4uqrr+bkyZNYrVb69Olz2qtDhw4ADBs2DGdnZ956660LPpa7uzuXXHIJzz//PACbN28+43oXen0v4sg0El1Eztsvv/zC4cOHT1s+Y8YMLr/8coYMGcLf//533NzcmDVrFjt27GD+/Pm2i+zY2FiuvvpqunXrRmBgILt372bevHn0798fLy8vtm3bxt/+9jduuOEG2rVrh5ubG7/88gvbtm1j6tSp9fxtRURE6sfSpUs5duwYzz//PIMHDz7t8+joaN544w1mz57NG2+8wdKlS7n44ov5v//7P7p27UpWVhY//PADU6ZMoWPHjjz44IMsWLCAUaNGMXXqVGJiYigsLGTFihVcffXVDBkyhJCQEIYOHcqMGTMIDAwkMjKSn3/+mUWLFtU4d8eOHWnTpg1Tp07FMAyCgoL49ttvWb58+Wnrvvzyy1x00UXExsYydepU2rZty/Hjx/nmm2945513bKPtAO69915eeOEFNm7cyPvvv39BP1MRERF7d9NNN/HJJ59w5ZVX8sADDxATE4OrqytHjx7l119/ZdSoUYwePZpWrVrxf//3fzzzzDMUFhZy88034+/vz65du0hPT+epp5464/6ffPJJjh49ymWXXUZYWBhZWVm8+uqruLq6cskll1Sbq6bX9yKNhYroInLeHn300TMuT0hI4JdffuGf//wnEydOpLy8nO7du/PNN99w9dVX29a79NJL+eabb3jllVcoKCigZcuWTJgwgcceewyAkJAQ2rRpw6xZs0hKSsJisdC6dWv+85//cN9999XLdxQREalvs2fPxs3Njdtvv/2Mnzdt2pTRo0fzxRdf8PbbbxMfH88///lPnnvuOU6ePEmzZs246KKLCAoKAioe/169ejXTp0/n3Xff5amnniIwMJC+fftWmaBz3rx53HfffTz66KNYrVZGjhzJ/Pnzz/o4+h+5urry7bff8sADD3D33Xfj4uLC0KFD+emnn4iIiKiybvfu3W25p02bRm5uLiEhIVx66aW4ublVWbdly5ZcdNFFbNu2jXHjxp3Pj1JERKTBcHZ25ptvvuHVV19l3rx5zJgxAxcXF8LCwrjkkkvo2rWrbd2nn36adu3a8frrr3PLLbfg4uJCu3btuP/++6vdf2xsLBs2bODRRx/lxIkTBAQE0KdPH3755Re6dOlS7XaXXHJJja7vRRoLi2EYhtkhRERERERE/igtLY3IyEjuu+8+XnjhBbPjiIiIiEgjppHoIiIiIiJiN44ePcqhQ4d48cUXcXJy4oEHHjA7koiIiIg0cppYVERERERE7Mb777/P4MGD2blzJ5988gktW7Y0O5KIiIiINHJq5yIiIiIiIiIiIiIiUg2NRBcRERERERERERERqYaK6CIiIiIiIiIiIiIi1dDEoheovLycY8eO4evri8ViMTuOiIg4IMMwyM3NJTQ0FCcn3ff+s3TuFhGRuqZzd+3SuVtEROpaTc/dKqJfoGPHjhEeHm52DBERaQSSkpIICwszO0aDp3O3iIjUF527a4fO3SIiUl/Ode5WEf0C+fr6AhU/YD8/P5PTiIiII8rJySE8PNx2zpE/R+duERGpazp31y6du0VEpK7V9NytIvoFqnyUzM/PTydzERGpU3p8uXbo3C0iIvVF5+7aoXO3iIjUl3Odu9WkTURERERERERERESkGiqii4iIiIiIiIiIiIhUQ0V0EREREREREREREZFqqIguIiIiIiIiIiIiIlINFdFFRERERERERERERKqhIrqIiIiIiIiIiIiISDVURBcRERERERERERERqYaK6CIiIiIiIiIiIiIi1VARXURERERERERERESkGiqii4iIiIiIiIiIiIhUQ0V0EREREREREREREZFqqIguIiIiIiIiIiIiIlINFdFFRERERERERERERKqhIrqIiIiIiIiIiIiISDVURLcTRaVWsyOIiIjUyKxZs4iKisLDw4PevXuzatWqs67/ySef0L17d7y8vGjRogW33347J0+erLLOl19+SefOnXF3d6dz58589dVXf/q4IiIiIiIiIrVBRXSTrTt0kiEv/cbtH6w3O4qIiMg5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yzn1PVVE35OaS1ZBiclpREREpK58GpeIYcDF7ZsR2cTb7DgiIiLyB5WtXIZHt8DVWeUcEZH6pN+6ck5Nfdxp06ziQnrFvhMmpxEREZG6UFRqZeGGJEATioqIiNibkrJylu5IBdTKRUTEDCqiS41UTiz22s/7KbOWm5xGREREatvSHSlkFpQS6u/BpR2bmx1HRERE/mD1gRNkF5bSzNed2KgmZscREWl0VESXGrnz4tYEerly8EQ+n61PMjuOiIhcoJKSEvbu3UtZWZnZUcTOzFtbMaHouNgInJ0sJqcREZHzofO74/tua8WEold1baHztIiICVRElxrx83Dl/svaATDzp33kFeuPMxGRhqSgoIBJkybh5eVFly5dSExMBOD+++/nueeeMzmdmG3nsWw2JWbh4mThxr7hZscREZEa0vm9cSgqtfLjruOAWrmIiJhFRXSpsVtiI2nVxIv0vBLeXXnI7DgiInIepk2bxtatW/ntt9/w8PCwLR86dCgLFiwwMZnYg4/XVRRdrogOobmvxznWFhERe6Hze+Pw29408orLaBngSc/wQLPjiIg0SiqiS425uTjxyPCOALy38hDHc4pMTiQiIjW1ePFi3njjDS666CIslv8+Aty5c2cOHjxoYjIxW25RKV9vSQY0oaiISEOj83vj8O22U61curXASa1cRERMoSK6nJcR0SH0jAigsNTKzJ/2mR1HRERq6MSJEzRvfvpkkfn5+VUuuqXx+WpzMgUlVto19yE2KsjsOCIich50fnd8+cVl/Lz7VCuXbqEmpxERabxMLaInJSVx9OhR2/v4+HgefPBB3n33XRNTydlYLBYeu7ITAAvWJ7HveK7JiUREpCb69u3L999/b3tfeWH93nvv0b9/f7NiickMw7BNKHprv0gVXEREGhid3x3fT7uPU1RaTqsmXkS39DM7johIo+Vi5sHHjRvHXXfdxfjx40lNTeXyyy+nS5cufPzxx6SmpvLkk0+aGU+q0adVEFd0CWbZzuM8t3QPcyb2NTuSiIicw4wZMxg+fDi7du2irKyMV199lZ07d7J27VpWrFhhdjwxSXxCBvvT8vB0dWZ0r5ZmxxERkfOk87vj++5UK5eru4XqZreIiIlMHYm+Y8cOYmJiAFi4cCHR0dGsWbOGTz/9lLlz55oZTc7h0eEdcXay8MueNNYcTDc7joiInMOA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CAAAWFhY4JdffsHrr7+OXr16wcLCAs8//zxWrVql/awXX3wRZWVl+PTTTzF//nw4OTlh5MiRTXeBREREzQxzNxERkXFh7iYybBJBEASxgyAi4yWRSLB3714888wzYodCRERE9cDcTUREZFyYu4nEx57oRERERERERERERER1YBGdiIiIiIiIiIiIiKgObOdCRERERERERERERFQHjkQnIiIiIiIiIiIiIqoDi+hERERERERERERERHVgEZ2IiIiIiIiIiIiIqA4sohMRERERERERERER1YFFdCIiIiIiIiIiIiKiOrCITkRERERERERERERUBxbRiYiIiIiIiIiIiIjqwCI6EREREREREREREVEdWEQnIiIiIiIiIiIiIqoDi+hERERERERERERERHVgEZ2IiIiIiIiIiIiIqA4sohMRERERERERERER1YFFdCIiIiIiIiIiIiKiOrCITkRERERERERERERUBxbRiUjHli1bIJFItC+5XA5XV1eMGTMGV65cETs8+Pj4YNKkSdqfb9y4AYlEgi1btogWExERkbH6d97/52v+/PkAgB9++AETJ05Ely5dYGJiAolEInLURERExqs698bGxupsz87ORlBQEKysrBAVFSVSdERUF7nYARCRYfryyy/h5+eHsrIy/PXXX/jggw/w+++/IzExEfb29mKHR0RERHpUnff/yc3NDQCwd+9enDhxAj169IBCoUBcXJwYIRIRETVbaWlpePzxx3Hr1i38+uuv6NOnj9ghEdG/sIhORLXq3LkzgoKCAAAPP/ww1Go13n33XXz33XeYPHmyyNERERGRPv0z7//bF198Aam0cgLrq6++yiI6ERGRHl25cgWDBg1CRUUFDh8+jC5duogdEhHVgu1ciKheqh+sb926pd0WGxuLp59+Gg4ODjAzM0OPHj3w7bff1jg2PT0dL730Ejw9PWFqago3NzeMHDlS+1llZWV444030L17d9ja2sLBwQF9+/bFvn37mubiiIiIqE7VBXQiIiLSr9OnT6N///6Qy+U4evSoTgE9MjISgwcPhqurK8zNzeHv748FCxaguLhY5zMmTZoEKysrXLhwAY899hgsLS3RqlUrvPrqqygpKdHZVyKR4NVXX8X69evRoUMHKBQKBAQEYMeOHTr73b59GzNnzkRAQACsrKzQunVrPProo/jzzz8b72YQ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+Oijj2rs+/TTT6NTp054++23kZKSgrZt2yIiIgKhoaHafRYtWoSSkhJs2rQJK1euREBAANatW4e9e/fijz/+aMzbQGSwJIIgCGIHQURERERERERERPdn0qRJ2LVrF4qKiu65r0QiwaxZs7BmzZomiIyoeWFPdCIiIiIiIiIiIiKiOrCITkRERERERERERERUB7ZzISIiIiIiIiIiIiKqA0eiExERERERERERERHVgUV0IiIiIiIiIiIiIqI6sIhORERERERERERERFQHudgBGCuNRoObN2/C2toaEolE7HCIiKgZEgQBhYWFcHNzg1TK770birmbiIgaG3O3fjF3ExFRY6tv7mYR/QHdvHkTnp6eYodBREQtQGpqKjw8PMQOw+gxdxMRUVNh7tYP5m4iImoq98rdLKI/IGtrawCVN9jGxkbkaIiIqDkqKCiAp6enNudQwzB3ExFRY2Pu1i/mbiIiamz1zd0soj+g6qlkNjY2TOZERNSoOH1ZP5i7iYioqTB36wdzNxERNZV75W42aSMiIiIiIiIiIiIiqgOL6EREREREREREREREdWARnYiIiIiIiIiIiIioDiyiExEREREREbVwa9euha+vL8zMzBAYGIg///zzrvtHRESgW7dusLCwgKurKyZPnoycnBydfXbv3o2AgAAoFAoEBARg7969jXkJREREjYZFdCIiIiIiIqIWLDIyEnPmzMGiRYsQHx+PAQMGYNiwYUhJSal1/6NHj2LixImYOnUqLly4gJ07dyImJgbTpk3T7nP8+HGEhoZiwoQJOHPmDCZMmIDRo0fj5MmTTXVZREREeiMRBEEQOwhjVFBQAFtbW+Tn53OVcCIiahTMNfrF+0lERI3NWHNN79690bNnT4SHh2u3+fv745lnnsHy5ctr7P/xxx8jPDwc165d025bvXo1Vq5cidTUVABAaGgoCgoK8NNPP2n3GTp0KOzt7bF9+/Z6xWWs95OIiIxHfXMNR6ITERGR3nFKOBERkXEoLy9HXFwcBg8erLN98ODBOHbsWK3HhISEIC0tDQcOHIAgCLh16xZ27dqFJ554QrvP8ePHa3zmkCFD6vxMAFAqlSgoKNB5ERERGQIW0YmIiEivOCWciIjIeGRnZ0OtVsPZ2Vlnu7OzMzIzM2s9JiQkBBEREQgNDYWpqSlcXFxgZ2eH1atXa/fJzMy8r88E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",
      "text/plain": [
       "<Figure size 1500x1000 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import os\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.optim as optim\n",
    "from torchvision import transforms, datasets, models\n",
    "from torch.utils.data import DataLoader\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, cohen_kappa_score, hamming_loss\n",
    "from torch.cuda.amp import GradScaler, autocast\n",
    "import numpy as np\n",
    "\n",
    "# 仅保留此行\n",
    "os.environ['TORCH_HOME'] = 'D:/ANACONDA/lib/site-packages/torch/models'\n",
    "# 注释或删除此行\n",
    "# os.environ['TORCH_MODEL_ZOO'] = '...'\n",
    "# 其他设置保持原样\n",
    "os.environ['PYTORCH_CUDA_ALLOC_CONF'] = 'expandable_segments:True'\n",
    "torch.backends.cudnn.benchmark = True\n",
    "# 数据预处理（与原始代码相同）\n",
    "transform = transforms.Compose([\n",
    "    transforms.Resize((224, 224)),\n",
    "    transforms.RandomHorizontalFlip(),\n",
    "    transforms.RandomVerticalFlip(),\n",
    "    transforms.RandomRotation(45),\n",
    "    transforms.RandomAffine(degrees=0, translate=(0.1, 0.1)),\n",
    "    transforms.ColorJitter(brightness=0.4, contrast=0.4, saturation=0.4, hue=0.1),\n",
    "    transforms.ToTensor(),\n",
    "    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
    "])\n",
    "\n",
    "# 数据集路径（与原始代码相同）\n",
    "data_dir = r'data'\n",
    "train_data_path = os.path.join(data_dir, 'train')\n",
    "val_data_path = os.path.join(data_dir, 'val')\n",
    "\n",
    "# 加载数据集（与原始代码相同）\n",
    "train_dataset = datasets.ImageFolder(root=train_data_path, transform=transform)\n",
    "val_dataset = datasets.ImageFolder(root=val_data_path, transform=transform)\n",
    "\n",
    "# 创建数据加载器（与原始代码相同）\n",
    "batch_size = 8\n",
    "train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True, num_workers=2)\n",
    "val_loader = DataLoader(val_dataset, batch_size=batch_size, shuffle=False, num_workers=2)\n",
    "\n",
    "# 初始化 ResNet50 模型（关键修改点 1）\n",
    "model = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)\n",
    "\n",
    "# 修改分类层（关键修改点 2）\n",
    "num_classes = len(train_dataset.classes)\n",
    "model.fc = nn.Sequential(\n",
    "    nn.Dropout(0.5),  # 添加 Dropout 层\n",
    "    nn.Linear(model.fc.in_features, num_classes)\n",
    ")\n",
    "nn.init.xavier_uniform_(model.fc[1].weight)  # 初始化权重\n",
    "model.fc[1].bias.data.fill_(0.01)\n",
    "\n",
    "# 将模型移动到 GPU（与原始代码相同）\n",
    "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
    "model = model.to(device)\n",
    "\n",
    "# 计算类别权重（与原始代码相同）\n",
    "from sklearn.utils.class_weight import compute_class_weight\n",
    "class_weights = compute_class_weight('balanced', classes=np.unique(train_dataset.targets), y=train_dataset.targets)\n",
    "class_weights = torch.tensor(class_weights, dtype=torch.float).to(device)\n",
    "\n",
    "# 定义损失函数、优化器和学习率调度器（与原始代码相同）\n",
    "criterion = nn.CrossEntropyLoss(weight=class_weights)\n",
    "optimizer = optim.Adam(model.parameters(), lr=0.0001)\n",
    "scheduler = optim.lr_scheduler.StepLR(optimizer, step_size=5, gamma=0.1)\n",
    "\n",
    "# 使用混合精度训练（与原始代码相同）\n",
    "scaler = GradScaler()\n",
    "\n",
    "# 训练函数（与原始代码相同）\n",
    "def train(model, device, train_loader, criterion, optimizer, epoch, scaler):\n",
    "    model.train()\n",
    "    running_loss = 0.0\n",
    "    correct = 0\n",
    "    total = 0\n",
    "    \n",
    "    for batch_idx, (data, target) in enumerate(train_loader):\n",
    "        data, target = data.to(device), target.to(device)\n",
    "        optimizer.zero_grad()\n",
    "        \n",
    "        with autocast():\n",
    "            output = model(data)\n",
    "            loss = criterion(output, target)\n",
    "        \n",
    "        scaler.scale(loss).backward()\n",
    "        scaler.step(optimizer)\n",
    "        scaler.update()\n",
    "        \n",
    "        running_loss += loss.item()\n",
    "        _, predicted = output.max(1)\n",
    "        total += target.size(0)\n",
    "        correct += predicted.eq(target).sum().item()\n",
    "        \n",
    "        if batch_idx % 10 == 0:\n",
    "            print(f'Train Epoch: {epoch} [{batch_idx * len(data)}/{len(train_loader.dataset)} ({100. * batch_idx / len(train_loader):.0f}%)] '\n",
    "                  f'Loss: {loss.item():.6f} | Acc: {100.*correct/total:.3f}%')\n",
    "\n",
    "# 验证函数（与原始代码相同）\n",
    "def validate(model, device, val_loader, criterion):\n",
    "    model.eval()\n",
    "    val_loss = 0\n",
    "    all_targets = []\n",
    "    all_predictions = []\n",
    "    \n",
    "    with torch.no_grad():\n",
    "        for data, target in val_loader:\n",
    "            data, target = data.to(device), target.to(device)\n",
    "            output = model(data)\n",
    "            val_loss += criterion(output, target).item()\n",
    "            _, predicted = output.max(1)\n",
    "            all_targets.extend(target.cpu().numpy())\n",
    "            all_predictions.extend(predicted.cpu().numpy())\n",
    "    \n",
    "    val_loss /= len(val_loader)\n",
    "    \n",
    "    metrics = {\n",
    "        'loss': val_loss,\n",
    "        'accuracy': accuracy_score(all_targets, all_predictions),\n",
    "        'precision': precision_score(all_targets, all_predictions, average='macro', zero_division=0),\n",
    "        'recall': recall_score(all_targets, all_predictions, average='macro', zero_division=0),\n",
    "        'f1': f1_score(all_targets, all_predictions, average='macro', zero_division=0),\n",
    "        'kappa': cohen_kappa_score(all_targets, all_predictions),\n",
    "        'hamming': hamming_loss(all_targets, all_predictions)\n",
    "    }\n",
    "    \n",
    "    print(f\"\\nValidation Metrics:\")\n",
    "    for name, value in metrics.items():\n",
    "        print(f\"{name.capitalize()}: {value:.4f}\")\n",
    "    \n",
    "    return metrics\n",
    "\n",
    "# 主训练流程（修改模型保存名称）\n",
    "def main():\n",
    "    try:\n",
    "        epochs = 10\n",
    "\n",
    "        print(f\"当前训练使用的设备是: {device}\")\n",
    "\n",
    "        history = {'loss': [], 'accuracy': [], 'precision': [], 'recall': [], 'f1': [], 'kappa': [], 'hamming': []}\n",
    "        best_acc = 0\n",
    "\n",
    "        for epoch in range(1, epochs + 1):\n",
    "            torch.cuda.empty_cache()\n",
    "            train(model, device, train_loader, criterion, optimizer, epoch, scaler)\n",
    "            metrics = validate(model, device, val_loader, criterion)\n",
    "            \n",
    "            for name in history.keys():\n",
    "                history[name].append(metrics[name])\n",
    "            \n",
    "            if metrics['accuracy'] > best_acc:\n",
    "                best_acc = metrics['accuracy']\n",
    "                torch.save(model.state_dict(), 'best_resnet50_model.pth')  # 修改保存名称\n",
    "            \n",
    "            scheduler.step()\n",
    "\n",
    "        # 绘图（与原始代码相同）\n",
    "        plt.figure(figsize=(15, 10))\n",
    "        for i, metric in enumerate(['loss', 'accuracy', 'precision', 'recall', 'f1', 'kappa'], 1):\n",
    "            plt.subplot(2, 3, i)\n",
    "            plt.plot(history[metric])\n",
    "            plt.title(metric.capitalize())\n",
    "            plt.xlabel('Epoch')\n",
    "            plt.ylabel('Score' if metric != 'loss' else 'Loss')\n",
    "        \n",
    "        plt.tight_layout()\n",
    "        plt.savefig('resnet50_training_metrics.png')  # 修改图片名称\n",
    "        plt.show()\n",
    "\n",
    "    except Exception as e:\n",
    "        print(f\"发生错误: {e}\")\n",
    "\n",
    "if __name__ == '__main__':\n",
    "    main()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "d:\\ANACONDA\\Lib\\site-packages\\torchvision\\models\\_utils.py:208: UserWarning: The parameter 'pretrained' is deprecated since 0.13 and may be removed in the future, please use 'weights' instead.\n",
      "  warnings.warn(\n",
      "d:\\ANACONDA\\Lib\\site-packages\\torchvision\\models\\_utils.py:223: UserWarning: Arguments other than a weight enum or `None` for 'weights' are deprecated since 0.13 and may be removed in the future. The current behavior is equivalent to passing `weights=ResNet50_Weights.IMAGENET1K_V1`. You can also use `weights=ResNet50_Weights.DEFAULT` to get the most up-to-date weights.\n",
      "  warnings.warn(msg)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "模型在测试集上的整体准确率: 77.45%\n",
      "\n",
      "随机样本测试结果:\n",
      "\n",
      "测试结果:\n",
      "图片名称                 预测结果            实际结果            正确性\n",
      "------------------------------------------------------------\n",
      "112.jpg              香菇              香菇              T\n",
      "122.jpg              鸡油菌             鸡油菌             T\n",
      "136.jpg              虫草花             虫草花             T\n",
      "169.jpg              榆黄蘑             榆黄蘑             T\n",
      "169.jpg              姬松茸             姬松茸             T\n",
      "70.jpg               香菇              香菇              T\n",
      "34.jpg               黑木耳             黑木耳             T\n",
      "31.jpg               谷熟菌             虎掌菌             F\n",
      "82.jpg               猪肚菌             猪肚菌             T\n",
      "74.jpg               榆黄蘑             金耳              F\n",
      "68.jpg               老人头菌            松茸              F\n",
      "6.jpg                白玉菇             白玉菇             T\n",
      "74.jpg               红菇              红菇              T\n",
      "112.jpg              干巴菌             干巴菌             T\n",
      "72.jpg               猴头菇             猴头菇             T\n",
      "145.jpg              口蘑              草菇              F\n",
      "51.jpg               鸡油菌             鸡油菌             T\n",
      "52.jpg               老人头菌            老人头菌            T\n",
      "29.jpg               竹荪              竹荪              T\n",
      "30.jpg               黑木耳             黑木耳             T\n",
      "\n",
      "总正确率: 80.00% (16/20)\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "from torchvision import transforms, datasets, models\n",
    "from torch.utils.data import DataLoader\n",
    "from PIL import Image\n",
    "import random\n",
    "import numpy as np\n",
    "\n",
    "# 数据集路径\n",
    "data_dir = r'data'\n",
    "test_data_path = os.path.join(data_dir, 'test')\n",
    "\n",
    "# 数据预处理\n",
    "transform = transforms.Compose([\n",
    "    transforms.Resize((224, 224)),\n",
    "    transforms.ToTensor(),\n",
    "    transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])\n",
    "])\n",
    "\n",
    "# 加载测试数据集\n",
    "test_dataset = datasets.ImageFolder(root=test_data_path, transform=transform)\n",
    "\n",
    "# 创建数据加载器\n",
    "batch_size = 32\n",
    "test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False, num_workers=4)\n",
    "\n",
    "# 加载模型\n",
    "model = models.resnet50(pretrained=True)  # 使用 ResNet50\n",
    "num_classes = len(test_dataset.classes)\n",
    "model.fc = nn.Sequential(\n",
    "    nn.Dropout(0.5),  # 添加 Dropout 层\n",
    "    nn.Linear(model.fc.in_features, num_classes)\n",
    ")\n",
    "# 解决 torch.load 的警告问题\n",
    "model.load_state_dict(torch.load('best_resnet50_model.pth', weights_only=True))  # 加载 ResNet50 的权重\n",
    "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
    "model = model.to(device)\n",
    "model.eval()\n",
    "\n",
    "# 随机选择20张图片\n",
    "def select_random_images(test_dir, num_images=20):\n",
    "    test_images = []\n",
    "    for root, dirs, files in os.walk(test_dir):\n",
    "        for file in files:\n",
    "            if file.lower().endswith(('.png', '.jpg', '.jpeg')):\n",
    "                test_images.append(os.path.join(root, file))\n",
    "    \n",
    "    if len(test_images) < num_images:\n",
    "        print(f\"测试集文件夹中只有 {len(test_images)} 张图片，无法选择20张\")\n",
    "        return []\n",
    "    \n",
    "    return random.sample(test_images, num_images)\n",
    "\n",
    "# 预测单张图片\n",
    "def predict_image(model, image_path, transform, class_names, device):\n",
    "    image = Image.open(image_path).convert('RGB')\n",
    "    image = transform(image).unsqueeze(0)\n",
    "    image = image.to(device)  # 将图像移动到与模型相同的设备上\n",
    "    \n",
    "    with torch.no_grad():\n",
    "        output = model(image)\n",
    "        _, predicted = torch.max(output, 1)\n",
    "    \n",
    "    predicted_class = class_names[predicted.item()]\n",
    "    \n",
    "    # 获取实际标签\n",
    "    actual_label = os.path.basename(os.path.dirname(image_path))\n",
    "    \n",
    "    return predicted_class, actual_label, predicted_class == actual_label\n",
    "\n",
    "# 测试函数\n",
    "def test_model():\n",
    "    # 1. 完整测试集评估\n",
    "    all_preds = []\n",
    "    all_targets = []\n",
    "    \n",
    "    with torch.no_grad():\n",
    "        for images, labels in test_loader:\n",
    "            images = images.to(device)\n",
    "            labels = labels.to(device)\n",
    "            outputs = model(images)\n",
    "            _, preds = torch.max(outputs, 1)\n",
    "            \n",
    "            all_preds.extend(preds.cpu().numpy())\n",
    "            all_targets.extend(labels.cpu().numpy())\n",
    "    \n",
    "    # 计算整体准确率\n",
    "    accuracy = accuracy_score(all_targets, all_preds)\n",
    "    print(f\"\\n模型在测试集上的整体准确率: {accuracy:.2%}\")\n",
    "    \n",
    "    # 2. 随机样本可视化评估\n",
    "    print(\"\\n随机样本测试结果:\")\n",
    "    random_images = select_random_images(test_data_path)\n",
    "    if not random_images:\n",
    "        return\n",
    "    \n",
    "    results = []\n",
    "    for image_path in random_images:\n",
    "        predicted, actual, is_correct = predict_image(model, image_path, transform, test_dataset.classes, device)\n",
    "        results.append((os.path.basename(image_path), predicted, actual, is_correct))\n",
    "    \n",
    "    # 打印结果\n",
    "    print(\"\\n测试结果:\")\n",
    "    print(f\"{'图片名称':<20} {'预测结果':<15} {'实际结果':<15} {'正确性'}\")\n",
    "    print(\"-\" * 60)\n",
    "    \n",
    "    for name, pred, actual, correct in results:\n",
    "        correct_str = \"T\" if correct else \"F\"\n",
    "        print(f\"{name:<20} {pred:<15} {actual:<15} {correct_str}\")\n",
    "    \n",
    "    # 统计正确率\n",
    "    correct_count = sum(1 for _, _, _, correct in results if correct)\n",
    "    accuracy = correct_count / len(results)\n",
    "    print(f\"\\n总正确率: {accuracy:.2%} ({correct_count}/{len(results)})\")\n",
    "\n",
    "if __name__ == '__main__':\n",
    "    test_model()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
